import axios from "axios";

/* 请求拦截 */
axios.interceptors.request.use(req => {
    req.headers['Authorization'] = sessionStorage.getItem('jwt')
    return req
})

/* 响应拦截 */
axios.interceptors.response.use(res => {
    // 存用户登录后的token
    if (res.data.context && res.data.context.jwt) {
        sessionStorage.setItem('jwt', res.data.context.jwt)
    }
    // 存用户权限列表
    if (res.data.context && res.data.context.acl) {
        // 保存acl
        const acl = JSON.stringify(res.data.context.acl)
        sessionStorage.setItem('acl', acl)
        // 保存面包屑（保存成取的时候方便的形式） A/B/C
        let obj = {}
        res.data.context.acl.forEach(el => {
            if (el.children.length > 0) {
                el.children.forEach(item => {
                    if (item.auth_bread) {
                        obj[item.auth_path] = item.auth_bread
                    }
                })
            }
        })
        sessionStorage.setItem('breads', JSON.stringify(obj))
    }
    return res
})

export default axios
